home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
-
- FILE *testfile;
-
- float r();
- int w();
-
- main()
- {
- float f;
- int rc;
-
- /* open test file */
- testfile = fopen("test.dat", "rb+");
- if (testfile == NULL)
- {
- printf("MAIN : open error\n");
- return;
- }
- printf("MAIN : \tf = %f\n", f);
-
- /* call subroutine to read the floating point number */
- f = r();
-
- /* call subroutine to write a floating point number */
- f = 123.45;
- w(f);
-
- /* call subroutine to read the floating point number */
- f = r();
-
- fclose (testfile);
- return;
-
- }
-
- /****************************************************************
- * subroutine R : read a floating point number from test file
- ****************************************************************/
- float
- r()
- {
- float f;
- int rc;
- rewind(testfile);
- rc = fread(&f, sizeof(float), 1, testfile);
- if (rc != 1)
- {
- printf("R : read error\n");
- exit(0);
- }
- printf("R : ;\tf = %f\n", f);
- return f;
-
- }
-
- /***************************************************************
- * subroutine W : write a floating point number in test file
- ***************************************************************/
- int
- w(flo)
- float flo;
- {
- float f;
- int rc;
-
- f = flo;
-
- printf("W : \tf = %fzn", f);
-
- rewind(testfile);
- rc = fwrite(&f, sizeof(float), 1, testfile);
- if (rc != 1)
- {
- printf("W : write error\n");
- exit(0);
- }
-
- return 1;
- }
- /********
- * OUTPUT
- *********
- MAIN : f = 123.449997
- R : f = 123.449997
- W : f = 123.450000
- R : f = 123.449997
-
- */
-
-